﻿using System;
using System.Collections.Generic;

using WpfAdmin.Everything.Enums;
using WpfAdmin.Everything.Queryable;

namespace WpfAdmin.Everything {
    public interface IEverything : IDisposable {
        ResultKind ResultKind { get; set; }
        bool MatchCase { get; set; }
        bool MatchPath { get; set; }
        bool MatchWholeWord { get; set; }
        int? MaxResults { get; set; }
        int? Offset { get; set; }
        Sort Sort { get; set; }
        ErrorCode LastErrorCode { get; }

        IEnumerable<ISearchResult> Search(IQuery query);
        void Reset();
    }
}
